package com.rh.number.dto;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.LocalDate;

public class NumberUpdateData {
    private Long num;
    private String type;
    private String province;
    private String city;
    private String state;
    private String qualification;
    private String businessScenario;
    private String upstream;
    private String monthlyRent;
    private String concurrent;
    private String controlFrequency;
    private String exclusiveStatus;

    private LocalDate effectiveDate;

    private String client;
    private String project;
    private String salesMonthlyRent;

    private LocalDate removalTime;

    private String remark;

    //------------------------ Getter Methods ------------------------//

    @JsonProperty("num")
    public Long getNum() {
        return num;
    }

    @JsonProperty("type")
    public String getType() {
        return type;
    }

    @JsonProperty("province")
    public String getProvince() {
        return province;
    }

    @JsonProperty("city")
    public String getCity() {
        return city;
    }

    @JsonProperty("state")
    public String getState() {
        return state;
    }

    @JsonProperty("qualification")
    public String getQualification() {
        return qualification;
    }

    @JsonProperty("businessScenario")
    public String getBusinessScenario() {
        return businessScenario;
    }

    @JsonProperty("upstream")
    public String getUpstream() {
        return upstream;
    }

    @JsonProperty("monthlyRent")
    public String getMonthlyRent() {
        return monthlyRent;
    }

    @JsonProperty("concurrent")
    public String getConcurrent() {
        return concurrent;
    }

    @JsonProperty("controlFrequency")
    public String getControlFrequency() {
        return controlFrequency;
    }

    @JsonProperty("exclusiveStatus")
    public String getExclusiveStatus() {
        return exclusiveStatus;
    }

    @JsonProperty("effectiveDate")
    public LocalDate getEffectiveDate() {
        return effectiveDate;
    }

    @JsonProperty("client")
    public String getClient() {
        return client;
    }

    @JsonProperty("project")
    public String getProject() {
        return project;
    }

    @JsonProperty("salesMonthlyRent")
    public String getSalesMonthlyRent() {
        return salesMonthlyRent;
    }

    @JsonProperty("removalTime")
    public LocalDate getRemovalTime() {
        return removalTime;
    }

    @JsonProperty("remark")
    public String getRemark() {
        return remark;
    }

    //------------------------ Setter Methods ------------------------//

    public void setNum(Long num) {
        this.num = num;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public void setState(String state) {
        this.state = state;
    }

    public void setQualification(String qualification) {
        this.qualification = qualification;
    }

    public void setBusinessScenario(String businessScenario) {
        this.businessScenario = businessScenario;
    }

    public void setUpstream(String upstream) {
        this.upstream = upstream;
    }

    public void setMonthlyRent(String monthlyRent) {
        this.monthlyRent = monthlyRent;
    }

    public void setConcurrent(String concurrent) {
        this.concurrent = concurrent;
    }

    public void setControlFrequency(String controlFrequency) {
        this.controlFrequency = controlFrequency;
    }

    public void setExclusiveStatus(String exclusiveStatus) {
        this.exclusiveStatus = exclusiveStatus;
    }

    public void setEffectiveDate(LocalDate effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public void setClient(String client) {
        this.client = client;
    }

    public void setProject(String project) {
        this.project = project;
    }

    public void setSalesMonthlyRent(String salesMonthlyRent) {
        this.salesMonthlyRent = salesMonthlyRent;
    }

    public void setRemovalTime(LocalDate removalTime) {
        this.removalTime = removalTime;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    //------------------------ Lombok 替代方案 ------------------------//
    // 无参构造器
    public NumberUpdateData() {
    }

    // 全参构造器
    public NumberUpdateData(Long num, String type, String province, String city,
                            String state, String qualification, String businessScenario,
                            String upstream, String monthlyRent, String concurrent,
                            String controlFrequency, String exclusiveStatus,
                            LocalDate effectiveDate, String client, String project,
                            String salesMonthlyRent, LocalDate removalTime, String remark) {
        this.num = num;
        this.type = type;
        this.province = province;
        this.city = city;
        this.state = state;
        this.qualification = qualification;
        this.businessScenario = businessScenario;
        this.upstream = upstream;
        this.monthlyRent = monthlyRent;
        this.concurrent = concurrent;
        this.controlFrequency = controlFrequency;
        this.exclusiveStatus = exclusiveStatus;
        this.effectiveDate = effectiveDate;
        this.client = client;
        this.project = project;
        this.salesMonthlyRent = salesMonthlyRent;
        this.removalTime = removalTime;
        this.remark = remark;
    }

}